
// 有一个函数可以接收一个函数，可以根据条件选择执行这个函数
/*
function after(times, callback) {
  return function() {
    if(--times === 0) {
      callback()
    }
  }
}

let fn = after(3, function() {
  console.log('fn 被调用了3次')
}) 

fn()
fn()
fn()
*/

//  读一个文件 3s
/*
function read(callback){
  setTimeout(() => {
    let r = 'dashu'
    callback(r)
  }, 3000)
}

read(function(res) {
  console.log(res)
})
*/

// 文件读取 异步
let fs = require('fs')
// readFile 参数是路径 、编码、回调（err 所有的一部方法都需要捕捉错误，但是不能使用try catch）
fs.readFile('./1.txt', 'utf8', function(err, data) {
  console.log(data)
})